#ifndef __MENU_CONFIG_H
#define __MENU_CONFIG_H

#ifdef __cplusplus
extern "C"
{
#endif

#include "./SYSTEM/language/language.h"
#include "./BSP/KEY/key_manager.h"
#include "./BSP/LCD/lcd.h"
#include "./SYSTEM/sys_param/sys_param.h"
#include "../Middleware/TEXT/text.h"
#include <string.h>
#include <stdio.h>

/* 菜单系统配置参数 - 使用宏定义 */
#define MENU_FONT_SIZE 24                                     /* 菜单字体大小(高度) */
#define VALUE_FONT_SIZE 24                                    /* 数值显示字体大小 */
#define MENU_FONT_WIDTH (MENU_FONT_SIZE / 2)                  /* 字体宽度 = 高度/2 */
#define MENU_ITEM_HEIGHT MENU_FONT_SIZE                       /* 菜单项高度 */
#define MENU_TITLE_LINES 1                                    /* 标题行数 */
#define MENU_TITLE_OFFSET (MENU_TITLE_LINES * MENU_FONT_SIZE) /* 标题偏移量 */
#define MENU_TITLE_HEIGHT MENU_FONT_SIZE                      /* 菜单标题高度（像素），等于字体高度 */
#define MENU_MAX_SHOW_NUM ((lcddev.height - MENU_TITLE_HEIGHT) / MENU_FONT_SIZE) /* 每页最多显示的菜单项数（自动根据屏幕高度lcddev.height和字体高度MENU_FONT_SIZE计算，减去一行标题） */

/* 计算菜单项Y坐标的宏 */
#define CALC_MENU_ITEM_Y(index) ((MENU_TITLE_OFFSET) + 4 + ((index) * MENU_ITEM_HEIGHT))

/* 计算双标题菜单项Y坐标的宏 */
#define CALC_DOUBLE_TITLE_MENU_ITEM_Y(index) ((MENU_TITLE_OFFSET * 2) + 4 + ((index) * MENU_ITEM_HEIGHT))

#ifdef __cplusplus
}
#endif

#endif
